/*
  简单封装ajax请求
  参数: 请求的url地址
  返回值 promise 
  注意只能发送GET请求 可以通过url携带params和query参数
*/

function ajax (url) {
  return new Promise((resolve, reject) => {
    // 创建一个xhr对象
    const xhr = new XMLHttpRequest()
    // 初始化请求
    xhr.open('GET', url)
    // 绑定监听状态改变函数
    xhr.onreadystatechange = function () {
      // 请求返回 响应完成的时候判断响应码
      if (xhr.readyState === 4) {
        if (xhr.status >= 200 && xhr.status < 300) {
          // 状态码 200 -299 请求成功
          resolve(JSON.parse(xhr.responseText))
        } else {
          // 请求失败
          reject(new Error('request error status' + request.status))
        }
      }
    }
    xhr.send()
  })
}